iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
自我挑戰組

技術隨筆系列 第 10

資料同步的實作選擇

  • 分享至 

  • xImage
  •  

當專案需要保存外部資料源而且需要確保外部資料源維持在最新狀態時,就會需要作資料同步的動作。以下簡介可以選擇的幾種作法(本篇屬筆記性質,供參)

  1. 輪詢 polling: 最常見的作法,一樣維持原本 request 取得資料的方式,最容易實作,但對於外部資料源的伺服器負擔比較大
  2. 伺服器推送 Server-Sent Events: 由 client 發起,但能夠達到伺服器推送資料效果的作法,比 websocket 的複雜度低,但是不支援雙向傳輸
  3. WebSocket: 可以實現資料同步的需求,在資料變更時能夠主動告知 client
  4. Webhooks: 高效的實作,但 client 需要支援 POST request, 而且有相對的安全議題需要注意

額外的優化項目

  • 使用分頁參數: 降低資料傳輸量
  • 使用 updated_at 過濾掉已同步過的資料內容
  • 把「資料刪除」也視為一種異動,返回資料刪除的標記代表刪除
  • 使用更動標記提示內容有改動的資料欄位
  • 根據資料異動的頻率調整 polling 的週期

上一篇
沒有 docker registry 要怎麼保存 image? - 低配版 docker image 管理方法
下一篇
安全性 UP - 避免 root 帳號打通關
系列文
技術隨筆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言